﻿using Newtonsoft.Json;
using System;
using System.Reflection;

namespace Enter.Utils
{
    [AttributeUsage(AttributeTargets.Property, Inherited = true)]
    public class ComposeAttribute : Attribute
    {
        public ComposeAttribute()
        {
        }
        public string HeaderName { get; set; }
        public string PropertyName { get; set; }
        [JsonIgnore]
        public PropertyInfo Property { get; set; }
        // 下拉框
        public string Drop { get; set; } = string.Empty;
        // 是否必填
        public bool Required { get; set; }
        // 导出格式
        public string Format { get; set; } = string.Empty;
        // 导出排序
        public int Sort { get; set; }
        // 是否导出
        public bool Export { get; set; } = true;
        // 是否导入
        public bool Import { get; set; } = true;
        // 是否显示（不是导入导出用的）
        public bool Visible { get; set; } = true;
        // 是否可以搜索（不是导入导出用的）
        public bool Searchable { get; set; } = true;
        // 是否可以排序（不是导入导出用的）
        public bool Orderable { get; set; } = false;
        // 是否可以编辑
        public bool Editable { get; set; } = true;
    }

}
